Deep Securityのアプリケーションコントロールを試してみた
はじめに
Deep Security 10で実装されたアプリケーションコントロール機能を試してみました。
アプリケーションコントロールは、アプリケーションの変更を管理する機能です。
ソフトウェアの許可ルールを作成しておくことで、ゼロデイのランサムソフトウェア等に対応出来ます。
アプリケーションコントロールの有効化
EC2にDeep Security Agentをインストールします。
今回はAmazon Linuxを利用しました。
Deep Security Managerのコンソールから、サポート情報 > インストールスクリプトを選択します。
スクリプトが表示されるので、EC2にコピー&ペーストするなどして実行します。
コンピュータエディタまたは、ポリシーエディタを開きます。
アプリケーションコントロール > 一般 > 設定を選択し、有効化します。
アクションは、以下の2つから選択出来ます。
今回は後者を選択しました。
- 承認されていないソフトウェアを明示的に許可するまでブロック
- 承認されていないソフトウェアを明示的にブロックするまで許可
メンテナンスモードの有効化
メンテナンスモードを有効化し、ソフトウェアの許可ルールに追加します。
不要なソフトウェアがインストールされていない状態で有効化するよう留意します。
期間は15分を選択しました。
有効化すると、ステータスと期間が表示されます。
動作テスト
httpdのインストールと開始
アプリケーションコントロールの動作を確認します。
httpdをインストールし、開始します。
$ sudo yum install httpd -y $ sudo service httpd start
"アプリケーションコントロールイベント"が3件、発生しました。
イベントを選択すると、詳細を確認出来ます。
httpdを停止し、"ルールの変更"から、httpdをブロックします。
serviceを実行すると、アプリケーションコントロールによりhttpdがブロックされました。
[ec2-user@ip-172-31-8-110 ~]$ sudo service httpd start env: /etc/init.d/httpd: Operation not permitted [ec2-user@ip-172-31-8-110 ~]$
シェルスクリプトのブロック
シェルスクリプトの実行をブロックできるか、確認します。
"承認されていないソフトウェアを明示的に許可するまでブロック"に変更します。
日付を表示するファイルを用意し、実行権を付与します。
[ec2-user@ip-172-31-8-110 ~]$ cat ~/batch.sh #!/bin/bash date [ec2-user@ip-172-31-8-110 ~]$ chmod +x ~/batch.sh
バッチを実行すると、アプリケーションコントロールによりブロックされました。
[ec2-user@ip-172-31-8-110 ~]$ sh ~/batch.sh sh: /home/ec2-user/batch.sh: Operation not permitted [ec2-user@ip-172-31-8-110 ~]$
アプリケーションコントロールイベントでは、"承認されていないソフトウェアのブロック"と記録されました。
おわりに
Deep Security 10で実装されたアプリケーションコントロール機能を試してみました。
メンテナンスモードを有効化することで、インストール済みのアプリケーションがソフトウェアの許可ルールに追加されます。
許可ルールにないhttpdをインストール、起動するとイベントが記録されました。
ルールをブロックにすると、"Operation not permitted"エラーが発生し、起動出来なくなる事を確認しました。
許可ルールにないシェルスクリプトについてもブロック出来ました。
アプリケーションコントロールは、パターンファイルがないゼロデイ攻撃にも対応出来る機能だと思います。
検証環境
- Trend Micro Deep Security as a Service
- OS: Amazon Linux 2017.03